package com.cy.pj.notice.service.impl;

import com.cy.pj.common.exception.ServiceException;
import com.cy.pj.notice.dao.SysNoticeDao;
import com.cy.pj.notice.service.SysNoticeService;
import com.cy.pj.sys.pojo.SysNotice;
import lombok.extern.slf4j.Slf4j;
import org.springframework.stereotype.Service;

import java.util.List;

/**
 * 公獒业务的具体实现
 * 1）核心业务（调用数据方法操作数据）
 * 2）拓展业务（日志记录，权限控制，事务控制，缓存...）
 */
@Slf4j    //创建日志对象
@Service  //@Component
public class SysNoticeServiceImpl implements SysNoticeService {

//    private static final Logger log=
//            LoggerFactory.getLogger(SysNoticeServiceImpl.class);

//    @Autowired
    private SysNoticeDao sysNoticeDao;

    //通过构造方法直接进行DI操作
    public SysNoticeServiceImpl( SysNoticeDao sysNoticeDao){
        this.sysNoticeDao=sysNoticeDao;
    }


    @Override
    public List<SysNotice> findNotices(SysNotice sysNotice) {
        long t1=System.currentTimeMillis();
        log.info("method start{}",t1);//这里的{标识占位符}
      List<SysNotice> list=sysNoticeDao.selectNotices(sysNotice);
        long t2=System.currentTimeMillis();
        log.info("method end{}",t2);
        return list;

    }

    @Override
    public int saveNotice(SysNotice sysNotice) {
       int rows =  sysNoticeDao.insertNotice(sysNotice);
        return  rows;
    }

    @Override
    public SysNotice findById(Long id) {
        return sysNoticeDao.findById(id);
    }

    @Override
    public int updateNotice(SysNotice sysNotice) {
        return sysNoticeDao.updateNotice(sysNotice);
    }

    @Override
    public int deleteById(Long... id) {
        int rows= sysNoticeDao.deleteById(id);
        if(rows==0)
            throw new ServiceException("记录可能已经不存在了");
        return rows;
    }
}
